﻿//using System;
//using System.Collections.Generic;
//using System.Drawing;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using System.Windows.Forms;

//namespace CodeCreator
//{
//    class Action
//    {
//        private delegate void Proxy(RichTextBox rtxt, string msg, Color? fontcolor = null);
//        private delegate void BtnProxy(Button btn, bool b);

//        Control _this;
//        public Action(Control _form)
//        {
//            _this = _form;
//        }
//        //private static Control GetMainForm(Control child)
//        //{
//        //    Control _main = child.Parent;
//        //    while (_main.Parent != null)
//        //    {
//        //        _main = _main.Parent;
//        //    }
//        //    return _main;
//        //}

//        public  void Appendlog(RichTextBox rtxtOutput, string message, Color? fontcolor = null)
//        {
//            if (_this.InvokeRequired)//等待异步
//            {
                
//                Delegate fc = new Proxy(Appendlog);

//                _this.Invoke(fc, message, fontcolor);//通过代理调用刷新方法
//            }
//            else
//            {
//                if (fontcolor == null)
//                    fontcolor = Color.Black;
//                rtxtOutput.AppendText(message);
//                rtxtOutput.AppendText("\r\n");
//                rtxtOutput.Focus();//获取焦点
//                rtxtOutput.Select(rtxtOutput.TextLength - message.Length - 1, message.Length);//光标定位到文本最后
//                rtxtOutput.SelectionColor = fontcolor.Value;
//                rtxtOutput.Select(rtxtOutput.TextLength, 0);//光标定位到文本最后
//                rtxtOutput.ScrollToCaret();//滚动到光标处
//            }
//        }
//        public  void SetGoEnable(Button btn, bool b)
//        {
//            if (_this.InvokeRequired)//等待异步
//            {

//                BtnProxy fc = new BtnProxy(SetGoEnable);

//                _this.Invoke(fc, btn, b);//通过代理调用刷新方法
//            }
//            else
//            {
//                btn.Enabled = b;
//            }
//        }
//    }
//}
